<?php
//======================================================================================
//
// Function: Maintain WAPMP100
//
// Programmer: JKJ
// Date : 2024-08-30
//
// Copyright Reeft A/S (c) - 2024
//======================================================================================
//======================================================================================
// Get input
//======================================================================================
if (isset($_REQUEST["M1ABC"])) {
$M1ABC = $_REQUEST["M1ABC"];
} else {
$M1ABC = '';
}
//======================================================================================
// Make line uppercase
//======================================================================================
//======================================================================================
// General config
//======================================================================================
include "config/config.php";
//======================================================================================
// Check if user is logged in?
//======================================================================================
include "login_check.php";
//======================================================================================
// Get session variables
//======================================================================================
include "include/getsession.php";
// include "include/uuid_create.php";
// include "include/generate_password_md5.php";
//======================================================================================
// Set language
//======================================================================================
include "include/set_language.php";
//======================================================================================
// Set defaults
//======================================================================================
// $pk_reference = $_SESSION['session_dft_pk_reference'];
// $referenceCode = $_SESSION['session_dft_referencecode'];
// $referenceName = $_SESSION['session_dft_referencename'];
//======================================================================================
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title><?php echo $datahub_text0001 ?></title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="REEFTvisual - Stoptime">
<meta name="author" content="REEFT A/S">
<link rel="icon" href="images/favicon/favicon.ico">
<!-- Bootstrap / jQuery -->
<link href="css/bootstrap4.3.1/css/bootstrap.custom.min.css" rel="stylesheet">
<link href="css/bootstrap4.3.1/css/themes/bootstrap.custom.min.css" rel="stylesheet">
<link href="css/bootstrap4.3.1/css/normalize.css" rel="stylesheet" type="text/css">
<link href="css/sticky-footer.css" rel="stylesheet" type="text/css">
<!-- Custom styles for this template -->
<link href="css/custom.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="css/fontawesome6.5.1/js/all.min.js"></script>
<script src="css/fontawesome6.5.1/js/sharp-light.min.js"></script>
<script src="css/fontawesome6.5.1/js/sharp-regular.min.js"></script>
<script src="css/fontawesome6.5.1/js/sharp-solid.min.js"></script>
<script src="css/fontawesome6.5.1/js/sharp-thin.min.js"></script>
<link href="css/bootstrap_animation/css/animate4/animate.css" rel="stylesheet" type="text/css">
<!--<link href="javascript/chosen/chosen.css" rel="stylesheet" type="text/css">-->
<link href="javascript/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"/>
<script src="javascript/jquery.js"></script>
<script src="css/bootstrap4.3.1/js/popper.js"></script>
<script src="css/bootstrap4.3.1/js/bootstrap.min.js"></script>
<script src="javascript/jquery-ui/jquery-ui.min.js"></script>
<script src="javascript/jquery.ui.touch-punch.min.js"></script>
<link href="javascript/bgrins-spectrum/spectrum.css" rel="stylesheet" type="text/css">
<script src="javascript/bgrins-spectrum/spectrum.js"></script>
<script src="javascript/moment.min.js"></script>
<script src="javascript/moment-with-locales.min.js"></script>
<script src="javascript/moment-duration-format.min.js"></script>
<script src="javascript/number_format/jquery.number.min.js"></script>
<script src="javascript/jquery.scrollTo.min.js"></script>
<!-- Data tables start -->
<link href="javascript/datatables.3.12/datatables.min.css" rel="stylesheet">
<script src="javascript/datatables.3.12/datatables.min.js"></script>
<!-- Data tables end -->
<script src="javascript/chosen/chosen.jquery.min.js" type="text/javascript"></script>
<script src="javascript/viewer-master/dist/viewer.min.js"></script>
<link href="javascript/viewer-master/dist/viewer.min.css" rel="stylesheet">
<script src="javascript/ajaxq/ajaxq.js"></script>
<link id="scrollUpTheme" rel="stylesheet" href="javascript/scrollup-master/dist/css/themes/image.css">
<script src="javascript/scrollup-master/dist/jquery.scrollUp.js"></script>
<script src="javascript/shortcut.js"></script>
<script src="javascript/_reeft_js/set_font_awesome_icon_type.js"></script>
<script src="javascript/_reeft_js/date_convert.js"></script>
<style>
.btn-custom-wide {
height:60px;
width:210px;
}
.text-truncate-dt {
max-width: 450px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.text-align-dt {
text-align: center;
}
.modal-xxl {
max-width: 80%;
}
.modal-xl {
max-width: 50%;
}
.border-3 {
border-width:3px !important;
}
td .hover-img {
position:relative;
}
td .hover-img span {
position:absolute; left:-9999px; top:-9999px; z-index:9999;
}
td:hover .hover-img span {
top: 5px;
left:0px;
}
.chosen-container-single {
min-width: 100%;
}
</style>
<script language="JavaScript">
//=============================================================================
// Globals
//=============================================================================
var thisCurrentRow;
var thisGlobalRowData;
var thisGlobalTableData;
var GLOBAL_CONFIG_TYPE_BUTTON_TEXT_A = 'Text/Char';
var GLOBAL_CONFIG_TYPE_BUTTON_TEXT_N = 'Number/Value';
var GLOBAL_CONFIG_TYPE_BUTTON_TEXT_L = 'Date (ISO)';
var GLOBAL_CONFIG_TYPE_BUTTON_TEXT_T = 'Time (ISO)';
// Save field
var save_PRDNO = '';
var save_M1ABC = '';
var global_debug = 'N';
// Add allowed Y/N
var GLOBAL_ADD_ALLOWED = 'N';
// Show group buttons
var GLOBAL_SHOW_GROUP_BUTTONS = 'N';
// Delete allowed Y/N
var GLOBAL_DELETE_ALLOWED = 'N';
// sortMode
var GLOBAL_SORTMODE = 'DESC';
var jsonDataSave = {};
var DFT_DATE_DISPLAY_FORMAT = '<?php //echo $DFT_DATE_DISPLAY_FORMAT ?>';
var DFT_LANGUAGE = '<?php //echo $DFT_LANGUAGE ?>';
var GLOBAL_TOTALPAGESSTOPVALUE = 10;
// Save field
//var save_CFGNAM = '';
$(function () {
$.scrollUp({
scrollName: 'scrollUp', // Element ID
//topDistance: '1800', // Distance from top before showing element (px)
//topSpeed: 300, // Speed back to top (ms)
scrollDistance: '300', // Distance from top before showing element (px)
scrollSpeed: 300, // Speed back to top (ms)
animation: 'fade', // Fade, slide, none
animationInSpeed: 200, // Animation in speed (ms)
animationOutSpeed: 200, // Animation out speed (ms)
scrollText: false, //'Scroll to top', // Text for element
activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
});
});
//=============================================================================
// Get data
//=============================================================================
function getData( inputGetData )
{
// Reset, show all
if ( inputGetData == '*RESET' ) {
inputGetData = '';
//Clear search
thisGlobalTableData.search( '' );
}
//Only initialize datatables once, else just draw it
if ( $.fn.dataTable.isDataTable( '#REEFTvisual_data' ) ) {
thisGlobalTableData.draw(); // fire in the hole
}
else {
setDataTables();
}
}
//=============================================================================
// Set datatables
//=============================================================================
function setDataTables()
{
// Delete allowed?
if ( GLOBAL_DELETE_ALLOWED == 'Y' ) {
var show_the_delete_button = true;
} else {
var show_the_delete_button = false;
}
// Get the current date line
input_M1ABC = $('#input-M1ABC').val();
new $('#REEFTvisual_data').DataTable({
"ajax": {
"url": 'hub_wa0361_maintain_get.php',
"type": "POST",
"data": function (parmData) {
// Add custom parameters to the ajax call
// Webservice name
parmData.M1ABC = input_M1ABC;
},
dataSrc: function (jsonData) { //return data
var rpyCMPNO = jsonData.header.rpyCMPNO;
var rpyCMPNO_Name = jsonData.header.rpyCMPNO_Name;
var rpyFile_name = jsonData.header.rpyFile_name
var rpyFile_description = jsonData.header.rpyFile_description
var rpyTableRecordsFound= jsonData.header.rpyTableRecordsFound
var returnCode = jsonData.header.returnCode;
var returnMsg = jsonData.header.returnMsg;
var entries_found = jsonData.header.entries_found;
var response_sec = jsonData.header.response_sec;
// Show load time
$('#text-total-records-found').html( rpyTableRecordsFound );
$('#load-time-from-database').html('entries found: ' + entries_found + ' (' + response_sec + ')');
// Set Company and file information
if ( rpyFile_name != '' ) {
$('#data-hub-company-information').html( '<span title="' + rpyFile_name + ' - ' + rpyFile_description + '">' + rpyCMPNO_Name + ' (' + rpyCMPNO + ')' + '</span>' ).css('font-size','1.3em');
}
// Init button line fields
var HTMLlineButtons = '';
var HTMLlineButtonsModal = '';
var selectedButtonClass = 'btn-dark';
// Get name of search item
input_M1ABC = $('#input-M1ABC').val();
// // Just in case
// if (input_PRDNO == '' ) {
// input_PRDNO = '<?php echo $M1ABC ?>';
// }
//=====================================================================================
// Create group buttons, only if wanted
//=====================================================================================
if ( GLOBAL_SHOW_GROUP_BUTTONS == 'Y' ) {
$.each( jsonData.header_buttons, function( index, object ){
var buttonLine = object.buttonLine;
var buttonCount = object.buttonCount;
if ( input_M1ABC == buttonLine ) {
selectedButtonClass = 'btn-success';
} else {
selectedButtonClass = 'btn-dark';
}
var selectButtonLineID = 'select-button-line-id-' + buttonLine;
var selectButtonLineIDmodal = 'select-button-line-id-modal-' + buttonLine + '_' + buttonCount;
HTMLlineButtons += '<button type="button" onclick="setWebserviceSearch(\'' + buttonLine + '\')" style="cursor:default" id="' + selectButtonLineID + '" class="btn ' + selectedButtonClass + ' select-button-line btn-sm mr-1 mb-1">'
+ buttonLine + ' (<b>' + buttonCount + '</b>)'
+ '</button>'
HTMLlineButtonsModal += '<button type="button" onclick="selectGroupValueModal(\'' + buttonLine + '\')" style="width:100px" id="' + selectButtonLineIDmodal + '" class="select-button-line-modal btn btn-primary btn-sm mr-1 mb-1">'
+ buttonLine
+ '</button>'
});
// Reset
HTMLlineButtons += '<button type="button" onclick="setWebserviceSearch(\'' + '' + '\')" style="cursor:default" id="' + 'RESET' + '" class="btn ' + 'btn-warning' + ' select-button-line btn-sm mr-1 mb-1">'
+ '<b>' + 'RESET' + '</b>'
+ '</button>'
// $('#data-result-button-group').html(HTMLlineButtons);
// $('#data-result-button-group-modal').html(HTMLlineButtonsModal);
}
//=====================================================================================
return jsonData.data;
}
},
processing: true,
serverSide: true,
responsive: true,
fixedHeader: true,
order: [[ 0, "asc" ]],
columns:
[
{ data: "PRDNO" }, // 0
{ data: "M1ABC" }, // 1
{ data: "DESCP" }, // 2
{ data: "DESC1" }, // 3
{ data: "M1RE6" }, // 4
{ data: "M1VLT" }, // 5
{ data: "M3HTZ" }, // 6
{
// Since we are combining multiple data fields, use null as the data source
data: null,
//data: "ACTIV",
render: function (data, type, row, meta)
{
ACTIV = $('#modal-input-ACTIV').val()
if ( ACTIV != '' ) {
row.ACTIV = ACTIV;
}
if ( row.ACTIV == '1') {
var ACTIVtext = '<div class="text-center text-success"><?php echo $datahub_YES ?></div>';
} else {
var ACTIVtext = '<div class="text-center text-danger font-weight-bold"><?php echo $datahub_NO ?></div>';
}
return ACTIVtext;
}
},
{
// Since we are combining multiple data fields, use null as the data source
data: null,
render: function (data, type, row, meta)
{
// Create edit button
var myButton = '<button id="edt-' + row.PRDNO + '-' + row.M1ABC + '" class="edit-btn btn btn-primary btn-block mr-1"><?php echo $datahub_button_show_details ?></button>';
return myButton;
}
},
{
// Since we are combining multiple data fields, use null as the data source
data: null,
// data: "M1ABC",
render: function (data, type, row, meta)
{
// Create delete button
var myButton = '<button id="dlt-' + row.PRDNO + '-' + row.M1ABC + '" class="delete-btn btn btn-danger btn-block mr-1"><?php echo $datahub_button_delete ?></button>';
return myButton;
}
},
{ data: "ACTIV" } // 10
],
columnDefs: [
{ responsivePriority: 1, targets: 8 },
// Make sure the sorts toggle asc/desc and not asc/desc/no-sort
{ orderSequence: ['asc', 'desc'], targets: [0,1,2,3,4,5,6] },
{
"targets": [ 8 ],
"visible": true,
"searchable": false,
"orderable": false
},
{
"targets": [ 9 ],
"visible": show_the_delete_button,
"searchable": false,
"orderable": false
},
{
"targets": [ 2,3 ],
"className": "text-truncate-dt" //class to mimic text-truncate in dt
},
{
"targets": [ 10 ],
"visible": false,
"searchable": false,
"orderable": false
},
{
"targets": [ 1,4,5,6 ],
"width": '60px',
"className": "text-align-dt"
},
],
pageLength: 10,
layout: {
top1Start: [{
pageLength: {
menu: [10, 25, 50, 100, 250]
}
}],
top1End: [{
search: {
placeholder: '<?php echo $datahub_datatable_Search_text ?>',
processing: true
}
}],
topStart: {
info:{
}
},
topEnd: {
paging: {
buttons: 7,
firstLast: true,
boundaryNumbers: true,
}
},
bottomStart: {
buttons: [
{
extend: 'copyHtml5',
text: '<img src="images/copy.png" height="25"> Copy to Clipboard',
titleAttr: 'Copy',
title: 'DATAHUB - Config Data Export - Copy to clipboard',
exportOptions: {
// Fields to export (https://datatables.net/reference/button/csv#Examples)
columns: [0,1,2,3,4,5,6,7]
}
},
{
extend: 'excelHtml5',
text: '<img src="images/microsoft_excel_logo.png" height="25"> Excel',
titleAttr: 'Excel',
title: function(){
return 'DATAHUB transactions file export';
},
filename: function(){
//var p_id = $('#input-PRDNO').val();
var p_id = moment().format('YYYY-MM-DD HH.mm.ss');
return 'DATAHUB - Config Data Export - Excel - ' + p_id;
},
exportOptions: {
// Fields to export (https://datatables.net/reference/button/csv#Examples)
columns: [0,1,2,3,4,5,6,7]
}
},
{
extend: 'pdfHtml5',
text: '<img src="images/pdf_logo.png" height="25"> PDF',
titleAttr: 'PDF',
orientation: 'landscape',
title: 'DATAHUB - Config Data Export - PDF',
filename: function(){
//var p_id = $('#input-PRDNO').val();
var p_id = moment().format('YYYY-MM-DD HH.mm.ss');
return 'DATAHUB - Config Data Export - Excel - ' + p_id;
},
exportOptions: {
// Fields to export (https://datatables.net/reference/button/csv#Examples)
columns: [0,1,2,3,4,5,6,7],
modifier: {
page: 'all'
}
}
}
]
},
bottomEnd: {
paging: {
buttons: 7,
firstLast: true,
boundaryNumbers: true
}
}
},
language:
{
"decimal": ",",
"thousands": ".",
"emptyTable": "<?php echo $datahub_datatable_emptyTable ?>",
"info": "<?php echo $datahub_datatable_Info ?>",
"infoEmpty": "<?php echo $datahub_datatable_InfoEmpty ?>",
"InfoFiltered": "<?php echo $datahub_datatable_InfoFiltered ?>",
"infoPostFix": "",
"lengthMenu": "<?php echo $datahub_datatable_LengthMenu ?>",
"loadingRecords": "",
"processing": "<?php echo $datahub_datatable_Processing ?>",
"search": "<?php echo $datahub_datatable_Search ?>",
"zeroRecords": "<?php echo $datahub_datatable_ZeroRecords ?>",
"paginate":
{
"first": "<?php echo $datahub_datatable_First ?>",
"last": "<?php echo $datahub_datatable_Last ?>",
"next": "<?php echo $datahub_datatable_Next ?>",
"previous": "<?php echo $datahub_datatable_Previous ?>"
},
"aria": {
"orderable": "Order by this column",
"orderableReverse": "Reverse order this column"
}
},
"rowCallback": function(row, data, index)
{
},
"preDrawCallback": function(settings)
{
},
"initComplete": function ()
{
}
});
//=============================================================================
// Setup the data to be able to update the table without reloading from the server
//=============================================================================
// Save the table in a global variable
thisGlobalTableData = $('#REEFTvisual_data').DataTable();
// Handle click on "Edit" button
$('#REEFTvisual_data tbody').on('click', '.edit-btn', function() {
thisCurrentRow = $(this).closest('tr');
thisGlobalRowData = thisGlobalTableData.row(thisCurrentRow).data();
// Debug
// console.log("edit");
// console.log(thisGlobalRowData);
//console.log(thisCurrentRow);
dataChange();
});
// Handle click on "Delete" button
$('#REEFTvisual_data tbody').on('click', '.delete-btn', function() {
thisCurrentRow = $(this).closest('tr');
thisGlobalRowData = thisGlobalTableData.row(thisCurrentRow).data();
// Debug
// console.log(thisGlobalRowData);
// console.log(thisCurrentRow);
dataDeleteConfirm();
});
//=============================================================================
//=============================================================================
// Place curor in search field - the wrapper id is provided by datatables - debug it!
//=============================================================================
$('#REEFTvisual_data_wrapper div.dt-search .dt-input').focus();
//=============================================================================
}
//=============================================================================
// Reason addd -- not used
//=============================================================================
function dataAdd ( input_pk_type )
{
var myPRDNO = $('#input-M1ABC').val();
resetModalInputFields();
setModalInputDefaultFields();
$('#input-mode').val('*add');
// Reset save field
save_PRDNO = '';
save_M1ABC = '';
// Create config type buttons
createConfigTypeButtons();
// Click default
selectConfigType('A');
// Set ACTIVe - default YES
$('#button-deleted-yes').removeClass('btn-primary').addClass('btn-success');
$('#button-deleted-no').removeClass('btn-success').addClass('btn-primary');
// Reset modal message
resetModalMessage();
// Remove key fields readonly
$('#modal-input-PRDNO').removeAttr('readonly','readonly');
$('#data-result-button-group-modal').removeClass('d-none');
// Show modal
$('#wa0361_MaintainModal').modal('show');
$('#wa0361_MaintainModal').on('shown.bs.modal', function () {
$('#modal-input-PRDNO').trigger('focus');
})
}
//=============================================================================
// Show details
//=============================================================================
function dataChange( )
{
var row = thisGlobalRowData;
// Save in fields
var counter = row["counter"];
var ACTIV = row["ACTIV"];
var CMPNO = row["CMPNO"];
var PRDNO = row["PRDNO"];
var DESCP = row["DESCP"];
var DESC1 = row["DESC1"];
var M1RE6 = row["M1RE6"];
var M1MOD = row["M1MOD"];
var M1ABC = row["M1ABC"];
var M1RES = row["M1RES"];
var M1FAS = row["M1FAS"];
var M1UPP = row["M1UPP"];
var M1PRO = row["M1PRO"];
var M1MTM = row["M1MTM"];
var M1MTS = row["M1MTS"];
var M1COL = row["M1COL"];
var M1VLT = row["M1VLT"];
var M3HTZ = row["M3HTZ"];
var M3FAS = row["M3FAS"];
var PMDAI = row["PMDAI"];
var PMDRW = row["PMDRW"];
var PMDTR = row["PMDTR"];
var M3WGH = row["M3WGH"];
var M1MDB = row["M1MDB"];
var M3TYP = row["M3TYP"];
var M3DRN = row["M3DRN"];
var W1SPE = row["W1SPE"];
var WZLOG = row["WZLOG"];
$('#input-mode').val('*update');
save_PRDNO = PRDNO;
// Move to input fields
$('#modal-input-counter').val(counter);
$('#modal-input-PRDNO').val( PRDNO );
$('#modal-input-ACTIV').val( ACTIV );
$('#modal-input-CMPNO').val( CMPNO );
$('#modal-input-DESCP').val( DESCP );
$('#modal-input-DESC1').val( DESC1 );
$('#modal-input-M1RE6').val( M1RE6 );
$('#modal-input-M1MOD').val( M1MOD );
$('#modal-input-M1ABC').val( M1ABC );
$('#modal-input-M1RES').val( M1RES );
$('#modal-input-M1FAS').val( M1FAS );
$('#modal-input-M1UPP').val( M1UPP );
$('#modal-input-M1PRO').val( M1PRO );
$('#modal-input-M1MTM').val( M1MTM );
$('#modal-input-M1MTS').val( M1MTS );
$('#modal-input-M1COL').val( M1COL );
$('#modal-input-M1VLT').val( M1VLT );
$('#modal-input-M3HTZ').val( M3HTZ );
$('#modal-input-M3FAS').val( M3FAS );
$('#modal-input-PMDAI').val( PMDAI );
$('#modal-input-PMDRW').val( PMDRW );
$('#modal-input-PMDTR').val( PMDTR );
$('#modal-input-M3WGH').val( M3WGH );
$('#modal-input-M1MDB').val( M1MDB );
$('#modal-input-M3TYP').val( M3TYP );
$('#modal-input-M3DRN').val( M3DRN );
$('#modal-input-W1SPE').val( W1SPE );
$('#modal-input-WZLOG').val( WZLOG );
// Check ACTIVe code
if ( ACTIV != '1' && ACTIV != '0' ) {
ACTIV = '1';
}
$('#modal-input-ACTIV').val( ACTIV );
// Set ACTIVe - default YES
if ( ACTIV == '1' ) {
$('#button-deleted-yes').removeClass('btn-primary').addClass('btn-success');
$('#button-deleted-no').removeClass('btn-success').addClass('btn-primary');
} else {
$('#button-deleted-no').removeClass('btn-primary').addClass('btn-success');
$('#button-deleted-yes').removeClass('btn-success').addClass('btn-primary');
}
// Make key fields readonly
$('#modal-input-PRDNO').attr('readonly','readonly');
$('#data-result-button-group-modal').removeClass('d-none');
$('.read-only-class').attr('readonly','readonly');
// Reset modal message
resetModalMessage();
// Show modal
$('#wa0361_MaintainModal').modal('show');
$('#wa0361_MaintainModal').on('shown.bs.modal', function () {
$('#modal-input-M1ABC').trigger('focus');
})
}
//=============================================================================
// Save
//=============================================================================
function dataSave()
{
// Reset modal message
resetModalMessage();
// Check content of fields
if ( $('#modal-input-PRDNO').val() == '' ) {
$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0082 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-PRDNO').trigger('focus');
return false;
}
if ( $('#modal-input-DESC1').val() == '' ) {
$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0085 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-DESC1').trigger('focus');
return false;
}
if ( $('#modal-input-DESCP').val() == '' ) {
$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0084 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-DESCP').trigger('focus');
return false;
}
if ( $('#modal-input-M1ABC').val() == '' ) {
$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0086 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-M1ABC').trigger('focus');
return false;
}
if ( $('#modal-input-M1UPP').val() == '' ) {
$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0083 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-M1UPP').trigger('focus');
return false;
}
var mode = $('#input-mode').val();
//===============================================================================
// Remove # if any
//===============================================================================
// Setup remove string
let mySaveString;
var myWorkField = $('#modal-input-DESCP').val();
myWorkField = myWorkField.replace("#", "");
$('#modal-input-DESCP').val( myWorkField );
var myWorkField = $('#modal-input-DESC1').val();
myWorkField = myWorkField.replace("#", "");
$('#modal-input-DESC1').val( myWorkField );
//===============================================================================
// Make sure key does not have space and are in uppercase
// var myWorkField = $('#modal-input-PRDNO').val();
// myWorkField = myWorkField.replace(" ", "_");
// myWorkField = myWorkField.toUpperCase();
// $('#modal-input-PRDNO').val( myWorkField );
// Make array and json
var myData = $('#dataForm').find('input, select, textarea').serializeArray();
var result = JSON.stringify(myData);
var result = encodeURIComponent( result );
// console.log(result);
// console.log(myData);
// return;
var parmData = 'data=' + result
+ '&mode=' + mode
;
$.ajax({
url: "wa0361_maintain_save.php",
type: "POST",
data: parmData,
dataType: "json",
cache: false,
})
.done(function( jsonData ) {
//=================================================================
// START - Update the table without doing a server reload
// Only update
//=================================================================
if ( mode == '*update' ) {
event.preventDefault();
// var myACTIV = $('#modal-input-ACTIV').val();
// console.log('myACTIV 1: ' + myACTIV)
// if ( myACTIV == '1') {
// myACTIVtext = '<div class="text-center">Yes</div>';
// myACTIVtext = 'YES';
// } else {
// myACTIVtext = '<div class="text-center">No</div>';
// myACTIVtext = 'NO';
// }
// Debug
// console.log(myGlobalRowData[0]);
// console.log(myGlobalRowData[1]);
// console.log(myGlobalRowData[2]);
// console.log(myCurrentRow);
// console.table(myGlobalTableData);
// Get the data for the "Change/Delete button", so we do not need to create it again
// myChangeButtonData = myGlobalRowData[6];
// myDeleteButtonData = myGlobalRowData[7];
//==============================================
// Use this if you want to update the whole row
//==============================================
// myGlobalTableData.row(myCurrentRow).data([
// modal_input_PRDNO,
// modal_input_LSTCAL,
// modal_input_DESCP1,
// modal_input_DESCP2,
// modal_input_COUNT,
// modal_input_SERTYP,
// myChangeButtonData,
// myDeleteButtonData,
// modal_input_DESCP1,
// modal_input_DESCP2
// ])
// .draw(false)
// ;
//=======================================================
// Use this if you want to update one or more table cells
//=======================================================
// thisGlobalTableData.cell(thisCurrentRow, 0 ).data($('#modal-input-PRDNO').val() );
// thisGlobalTableData.cell(thisCurrentRow, 1 ).data($('#modal-input-M1ABC').val() );
// thisGlobalTableData.cell(thisCurrentRow, 2 ).data($('#modal-input-DESCP').val() );
// thisGlobalTableData.cell(thisCurrentRow, 3 ).data($('#modal-input-DESC1').val() );
// thisGlobalTableData.cell(thisCurrentRow, 4 ).data($('#modal-input-M1UPP').val() );
// thisGlobalTableData.cell(thisCurrentRow, 5 ).data($('#modal-input-ACTIV').val() );
// // 6 = Edit button
// // 7 = Delete button
// thisGlobalTableData.cell(thisCurrentRow, 8 ).data($('#modal-input-M1VLT').val() );
// thisGlobalTableData.cell(thisCurrentRow, 9 ).data($('#modal-input-M3HTZ').val() );
// thisGlobalTableData.cell(thisCurrentRow, 10 ).data($('#modal-input-ACTIV').val() );
//.draw(false);
}
//=================================================================
// END - Update the table without doing a server reload
//=================================================================
//=================================================================
// Close the modal
//=================================================================
$('#wa0361_MaintainModal').modal('hide');
//=================================================================
// Only when add
//=================================================================
if ( mode == '*add' ) {
var myButtonID = 'select-button-line-id-' + $('#input-M1ABC').val();
$('#' + myButtonID).click();
getData('');
}
})
.always(function( jsonData ) {
// Reset mode
$('#input-mode').val('');
// Reset input fields
resetModalInputFields();
})
.fail(function( xhr, ajaxOptions, thrownError ) {
console.log('I am failed..');
console.log( thrownError );
console.log( xhr );
});
}
//=============================================================================
// Delete confirm
//=============================================================================
function dataDeleteConfirm( )
{
$('#input-mode').val('*delete');
var row = thisGlobalRowData;
var input_PRDNO = row["PRDNO"];
$('#confirm-delete-PRDNO').val(input_PRDNO);
// Create confirm text
$('#confirm-delete-text-PRDNO').html(input_PRDNO);
$('#wa0361_confirmDeleteModal').modal('show');
}
//=============================================================================
// Delete
//=============================================================================
function dataDeleteExec()
{
// Reset modal message
resetModalMessage();
var mode = $('#input-mode').val();
// Make array and json
var myData = $('#dataForm-delete').find('input, select').serializeArray();
var result = JSON.stringify(myData);
// console.log(result);
// console.log(myData);
//return;
var parmData = 'data=' + result
+ '&mode=' + mode
;
$.ajax({
url: "wa0361_maintain_save.php",
type: "POST",
data: parmData,
dataType: "json",
cache: false,
})
.done(function( jsonData ) {
$('#wa0361_confirmDeleteModal').modal('hide');
//=================================================================
// Only when add
//=================================================================
if ( mode == '*delete' ) {
var myButtonID = 'select-button-line-id-' + $('#input-M1ABC').val();
$('#' + myButtonID).click();
resetModalInputFields();
getData('');
}
})
.always(function( jsonData ) {
})
.fail(function( xhr, ajaxOptions, thrownError ) {
console.log('I am failed..');
console.log( xhr );
});
}
//=============================================================================
// Check if userid exists
//=============================================================================
function checkDataExists()
{
var PRDNO = $('#modal-input-PRDNO').val();
// If update, then the "orginal" code is ok
if ( $('#input-mode').val() == '*update' ) {
if ( PRDNO == save_PRDNO ) {
// return;
}
}
var parmData = 'hub_cfgnam=' + PRDNO
;
$.ajax({
url: "hub_conchk_get.php",
type: "GET",
data: parmData,
dataType: "json",
cache: false,
})
.done(function( jsonData ) {
var returnCode = jsonData.header.returnCode;
var returnMsg = jsonData.header.returnMsg;
var entries_found = jsonData.header.entries_found;
var returnConfigValue = jsonData.header.returnConfigValue;
var returnConfigValueText = jsonData.header.returnConfigValueText;
if ( returnConfigValue == '50') {
$('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0087 ?>' );
$('#modal-save-button').addClass('disabled').prop("disabled", true);
$('#modal-input-PRDNO').trigger('focus');
return false;
} else {
// DESCP = jsonData.detail[0].DESCP
// $('#modal-input-M1UPP').val( DESCP );
}
// Reset modal message
resetModalMessage();
})
.always(function( jsonData ) {
})
.fail(function( xhr, ajaxOptions, thrownError ) {
console.log('I am failed..');
console.log( xhr );
});
}
//=============================================================================
// Show deleted
//=============================================================================
function showDeleted()
{
var show_deleted = $('#input-show-deleted').val();
if ( show_deleted == 'Y' ) {
$('#button-show-deleted').html('<?php echo $datahub_NO ?>');
$('#input-show-deleted').val('N');
} else {
$('#button-show-deleted').html('<?php echo $datahub_YES ?>');
$('#input-show-deleted').val('Y');
}
}
//=============================================================================
// Set ACTIVe Button (Yes/No)
//=============================================================================
function setACTIVButton( ACTIVmode )
{
if ( ACTIVmode == '1' ) {
$('#button-deleted-yes').removeClass('btn-primary').addClass('btn-success');
$('#button-deleted-no').removeClass('btn-success').addClass('btn-primary');
} else {
$('#button-deleted-yes').removeClass('btn-success').addClass('btn-primary');
$('#button-deleted-no').removeClass('btn-primary').addClass('btn-success');
}
$('#modal-input-ACTIV').val(ACTIVmode );
}
//=============================================================================
// Set default modal input fields
//=============================================================================
function setModalInputDefaultFields()
{
var myPRDNO = $('#input-M1ABC').val();
$('#modal-input-ACTIV').val('1');
$('#modal-input-M1VLT').val( $('#input-current-date').val() );
$('#modal-input-M3HTZ').val( $('#input-current-time').val() );
}
//=============================================================================
// Reset modal input fields
//=============================================================================
function resetModalInputFields()
{
$('#modal-input-ACTIV').val('');
$('#modal-input-DESCP').val('');
$('#modal-input-PRDNO').val('');
$('#modal-input-M1ABC').val('');
$('#modal-input-M1UPP').val('');
$('#modal-input-DESC1').val('');
$('#modal-input-M1VLT').val('');
$('#modal-input-M1VLT').val('');
$('#modal-input-M3HTZ').val('');
$('#input-mode').val('');
}
//=============================================================================
// Log off
//=============================================================================
function signoff()
{
window.location.href = "logout.php";
}
//=============================================================================
// Load page
//=============================================================================
function loadPage(url, p1, p2, p3)
{
window.location.href = url;
}
//=============================================================================
// Reset modal message
//=============================================================================
function resetModalMessage() {
// Reset
//$('#modal-message').removeClass('p-2 font-weight-bold border border-danger rounded bg-light').html( ' ' );
$('#modal-message').removeClass('border-bottom').html( ' ' );
$('#modal-save-button').removeClass('disabled').prop("disabled", false);
}
//=============================================================================
// Clean input string
//=============================================================================
function cleanInputString( myWorkField )
{
let charactersToRemove = '?#"\'';
let myPattern = new RegExp('[' + charactersToRemove + ']', 'g');
myWorkField = myWorkField.replace(myPattern,'');
return myWorkField;
}
//=============================================================================
// Full screen popup
//=============================================================================
function popUpFull( url, p1, p2, p3 )
{
var winname = 'win_' + url;
params = 'width='+screen.width;
params += ', height='+screen.height;
params += ', top=0, left=0'
params += ', fullscreen=yes';
params += ',scrollbars=1';
overview_win = window.open(url,winname, params);
if (window.focus) {overview_win.trigger('focus')}
return false;
}
//=============================================================================
// screen popup - center
//=============================================================================
function popUpCenter(url, p1, p2, p3)
{
var v1_w = screen.availWidth;
var v1_h = screen.availHeight;
if ( parseInt(v1_w) > 1800 ) {
v1_w = 1800;
v1_h = v1_h - 200;
v1_center = v1_w/0.8;
}
// Center popup as good as possible
var left = (screen.width - v1_w) / 2;
var top = (screen.height - v1_h) / 4;
var winname = 'win_' + url;
params = 'width='+v1_w;
params += ', height='+v1_h;
params += ', top=' + top + ', left=' + left;
params += ', fullscreen=yes';
params += ',scrollbars=1';
overview_win = window.open(url,winname, params);
if (window.focus) {overview_win.trigger('focus')}
return false;
}
//=============================================================================
// screen popup - center - bigger
//=============================================================================
function popUpCenterBig(url, p1, p2, p3)
{
var v1_w = screen.availWidth;
var v1_h = screen.availHeight;
// Get 25%
v1_w_pct = v1_w * 0.25;
v1_w_new = v1_w - v1_w_pct;
if ( v1_w_new < 1 ) {
v1_w_new = 1800;
}
v1_w = v1_w_new;
v1_h = v1_h - 200;
v1_center = v1_w/0.8;
// Center popup as good as possible
var left = (screen.width - v1_w) / 2;
var top = (screen.height - v1_h) / 4;
var winname = 'win_' + url;
params = 'width='+v1_w;
params += ', height='+v1_h;
params += ', top=' + top + ', left=' + left;
params += ', fullscreen=yes';
params += ',scrollbars=1';
overview_win = window.open(url,winname, params);
if (window.focus) {overview_win.trigger('focus')}
return false;
}
//=============================================================================
// Popup top
//=============================================================================
function popUpTop(url, p1, p2, p3)
{
var winname = 'win_' + url;
w = 650;
h = 750;
params = 'width='+w;
params += ', height='+h;
params += ', top=0, left=0'
params += ', fullscreen=no';
params += ',scrollbars=1';
overview_win = window.open(url,winname, params);
if (window.focus) {overview_win.trigger('focus')}
return false;
}
//=============================================================================
// Clean input string
//=============================================================================
function cleanInputString( myWorkField )
{
let charactersToRemove = '?#"\'';
let myPattern = new RegExp('[' + charactersToRemove + ']', 'g');
myWorkField = myWorkField.replace(myPattern,'');
return myWorkField;
}
//=============================================================================
// Set config type
//=============================================================================
function setConfigType( inputType )
{
outputType = inputType;
if ( inputType == 'A' ) {
var outputType = GLOBAL_CONFIG_TYPE_BUTTON_TEXT_A;
}
if ( inputType == 'N' ) {
var outputType = GLOBAL_CONFIG_TYPE_BUTTON_TEXT_N;
}
if ( inputType == 'L' ) {
var outputType = GLOBAL_CONFIG_TYPE_BUTTON_TEXT_L;
}
if ( inputType == 'T' ) {
var outputType = GLOBAL_CONFIG_TYPE_BUTTON_TEXT_T;
}
return outputType;
}
//=============================================================================
// Create config type buttons
//=============================================================================
function createConfigTypeButtons()
{
$('#button-group-config-type').html('');
// Char
myConfigType_A = '<button type="button" id="button-config_type-button-A" class="btn btn-primary btn-config-type mr-1 mb-1" onclick="selectConfigType(\'A\')">' + GLOBAL_CONFIG_TYPE_BUTTON_TEXT_A +'</button>';
myConfigType_N = '<button type="button" id="button-config_type-button-N" class="btn btn-primary btn-config-type mr-1 mb-1" onclick="selectConfigType(\'N\')">' + GLOBAL_CONFIG_TYPE_BUTTON_TEXT_N +'</button>';
myConfigType_L = '<button type="button" id="button-config_type-button-L" class="btn btn-primary btn-config-type mr-1 mb-1" onclick="selectConfigType(\'L\')">' + GLOBAL_CONFIG_TYPE_BUTTON_TEXT_L +'</button>';
myConfigType_T = '<button type="button" id="button-config_type-button-T" class="btn btn-primary btn-config-type mr-1 mb-1" onclick="selectConfigType(\'T\')">' + GLOBAL_CONFIG_TYPE_BUTTON_TEXT_T +'</button>';
$('#button-group-config-type').html(
myConfigType_A +
myConfigType_N +
myConfigType_L +
myConfigType_T
);
}
//=============================================================================
// Select config type
//=============================================================================
function selectConfigType( inputType )
{
$('#modal-input-M1UPP').val( inputType );
// Remove all "active" marks
$('.btn-config-type').removeClass('active btn-success').addClass('btn-primary');;
// Mark button as selected
myID = 'button-config_type-button-' + inputType;
$('#' + myID ).addClass('active btn-success').removeClass('btn-primary');
}
//=============================================================================
// Select line modal
//=============================================================================
function selectGroupValueModal( inputLine )
{
$('#modal-input-M1ABC').val( inputLine );
var selectButtonLineID = 'select-button-line-id-modal-' + inputLine;
$('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary');
$('#' + selectButtonLineID).removeClass('btn-primary').addClass('btn-success');
// Place cursor
$('#modal-input-PRDNO').trigger('focus');
resetModalMessage();
}
//=============================================================================
// Reset line modal
//=============================================================================
function resetLineModal()
{
resetModalMessage()
let inputLine = $('#modal-input-PRDNO').val();
if ( inputLine == '' ) {
$('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary');
}
}
//=============================================================================
// Set action type
//=============================================================================
function setActionType( inputType )
{
outputType = '';
if ( inputType == '*PDF' ) {
outputType = '1';
}
if ( inputType == '*PIC' ) {
outputType = '2';
}
if ( inputType == '*SCAN' ) {
outputType = '3';
}
if ( inputType == '*MOVIE' ) {
outputType = '4';
}
if ( inputType == '*LINK' ) {
outputType = '5';
}
if ( inputType == '*CHECK' ) {
outputType = '6';
}
return outputType;
}
//=============================================================================
// Open previewer
//=============================================================================
function preViewElement( myElement )
{
let h = $(window).height();
let w = $(window).width();
console.log('h: ' + h + ' -- ' + 'w: ' + w);
h = h * 0.75;
console.log('h: ' + h + ' -- ' + 'w: ' + w);
// Create ID
let myID = '#' + myElement;
let myURL = $( myID ).val();
let myIFRAME = '<iframe style="height:' + h + 'px;width:100%;" src=' + myURL +'></iframe>';
// Set iframe
$('#modal-preview-iframe').html( myIFRAME );
// Show modal
$('#wa0361_previewModal').modal('show');
}
//=============================================================================
// Get data - search
//=============================================================================
function setWebserviceSearch( input_M1ABC )
{
// Save curreent webservice name
$('#input-M1ABC').val( input_M1ABC );
var selectButtonLineID = 'select-button-line-id-' + input_M1ABC;
// Set clicked button
$('.select-button-line').removeClass('btn-success').addClass('btn-dark');
$('#' + selectButtonLineID).removeClass('btn-dark').addClass('btn-success');
// Clear table - note the draw will occur in the getData function
$('#REEFTvisual_data').DataTable().clear();
getData();
//=============================================================================
// Place curor in search field
//=============================================================================
$('#REEFTvisual_data_wrapper div.dt-search .dt-input').focus();
//$('div.dt-search .dt-input').focus();
//=============================================================================
}
//=============================================================================
// Close modal
//=============================================================================
function closeModal() {
$('#wa0361_MaintainModal').modal('hide');
}
//=============================================================================
// Set clock
//=============================================================================
function updateClock() {
var currentTime = moment().format('YYYY-MM-DD HH:mm:ss');
currentTime = REEFT_format_date( currentTime, DFT_DATE_DISPLAY_FORMAT )
$('#input-current-date').val( moment().format('YYYY-MM-DD') );
$('#input-current-time').val( moment().format('HH:mm:ss') );
$('#current-time').html( currentTime );
// If add mode update date/time in modal window
if ( $('#input-mode').val() == '*add' )
{
$('#modal-input-M1VLT').val( $('#input-current-date').val() );
$('#modal-input-M3HTZ').val( $('#input-current-time').val() );
}
}
//=============================================================================
// jQuery - Ready
//=============================================================================
$(document).ready(function()
{
// When closing modal
$('#wa0361_MaintainModal').on('hidden.bs.modal', function (e) {
resetModalInputFields();
})
// Do not show deleted
$('#input-show-deleted').val('Y');
$('#input-M1ABC').val('<?php echo $M1ABC ?>');
// Get data done by datatables
setDataTables();
$('#delay-marker-id').html('<i id="delay-marker-icon-id" class="text-success fa-solid fa-circle"></i>');
//-----------------------------------------------------------------------
// Start the clock
//-----------------------------------------------------------------------
updateClock();
setInterval(function() {
updateClock();
}, 1000);
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// Set font awesome icon type
//-----------------------------------------------------------------------
// Value is from config/config.php
var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
setFontAwesomeIconType( iconType );
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// Delay keyup checker
//-----------------------------------------------------------------------
var delay = (function () {
var timer = 0;
return function (callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})()
// DataTable search delay
//$('#REEFTvisual_data_wrapper .dataTables_filter input')
$('#REEFTvisual_data_wrapper div.dt-search .dt-input')
.unbind() // overrule normal behavior
.bind('keyup', function(e){
$('#delay-marker-icon-id').removeClass('text-success').addClass('text-danger');
//var inputValue = $('.dataTables_filter input').val();
var inputValue = $('#REEFTvisual_data_wrapper div.dt-search .dt-input').val();
var currSearchValue = $('#input-search-line').val();
if (inputValue != currSearchValue) {
$('#input-search-line').val( inputValue );
//If enter or delete we update immediately, consider to add backspace=8 and delete=46 also
const keyList = [13];
if (keyList.includes(e.keyCode)) {
// console.log('immediately ' + inputValue );
$('#delay-marker-icon-id').removeClass('text-danger').addClass('text-success');
thisGlobalTableData.search(inputValue).draw(); // fire in the hole
} else {
delay(function () {
// console.log('this will hit, once user has not typed for 1 second ' + inputValue );
$('#delay-marker-icon-id').removeClass('text-danger').addClass('text-success');
thisGlobalTableData.search(inputValue).draw(); // fire in the hole
}, 0800);
}
}
});
//-----------------------------------------------------------------------
// Check exists
//-----------------------------------------------------------------------
let $filter01 = $('#modal-input-PRDNO');
$filter01.on('keyup', function () {
delay(function () {
var inputValue = $('#modal-input-PRDNO').val();
if ( inputValue != '') {
console.log('this will hit, once user has not typed for 1 second ' + inputValue );
checkDataExists();
}
}, 0800);
});
//-----------------------------------------------------------------------
// Event listener for the update button
//-----------------------------------------------------------------------
$('#updateButton').on('click', function() {
// Trigger a redraw of the table
thisGlobalTableData.draw();
});
//-----------------------------------------------------------------------
// Set short cuts
//-----------------------------------------------------------------------
// If add d-none class, do not add shortcut
if ( GLOBAL_ADD_ALLOWED == 'Y' ) {
shortcut.add("Alt+F6",function() {
$('#add-button').click();
});
// Show add button
$('#add-button').removeClass('d-none');
}
// Close window
shortcut.add("Shift+Esc",function() {
$('#button-close').click();
});
});
// -->
</script>
</head>
<body>
<div class="container-fluid mt-2 pl-3 pr-3">
<input type="text" class="d-none" id="input-M1ABC">
<input type="text" class="d-none" id="input_search">
<input type="text" class="d-none" id="input-mode">
<input type="text" class="d-none" id="input-current-date">
<input type="text" class="d-none" id="input-current-time">
<input type="text" class="d-none" id="input-show-deleted" >
<input type="text" class="d-none" id="input-search-line">
<input type="text" class="d-none" id="input-filter-line">
<input type="text" class="d-none" id="input-rpyOffSet">
<input type="text" class="d-none" id="input-rpyTotalRecordsFound">
<input type="text" class="d-none" id="input-rpyTotalPages">
<input type="text" class="d-none" id="input-rpyPageSize">
<div class="row">
<div class="col-2">
<img src="images/customer-logo.png" alt="Customer Logo">
</div>
<div class="col-8 text-center <?php echo $DFT_CLOCK_SIZE ?>">
<i class="font-awesome-pseudo-class fa-thin fa-clock"></i> <span id="current-time"><?php echo date('d-m-Y h:i:s') ?></span>
</div>
<div class="col-2 text-right">
<div class="btn btn-primary mb-1" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-home"></i></div>
<div class="d-none">
<div class="btn btn-primary mb-1 d-none d-xl-inline-block" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home_03 ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-fort"></i></div>
<div class="btn btn-danger mb-1 d-none d-lg-inline-block" onclick="signoff()" title="<?php echo $datahub_go_to_my_dear_home_02 ?>"><i class="font-awesome-pseudo-class fa-thin fa-2x fa-right-from-bracket"></i></div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<div id="data-hub-company-information"></div>
</div>
</div>
<div class="card mt-2">
<div class="card-header text-muted">
<div class="row mt-2">
<div class="col-4 h4">
<i class="font-awesome-pseudo-class fa-thin fa-anchor"></i> <?php echo "$datahub_text0084"; ?>
</div>
<div class="col text-right font-weight-bold">
<button type="button" class="d-none btn btn-dark" id="button-toggle-show-deleted" title="Alt+F2=Toggle" onclick="showDeleted()"><?php echo $datahub_button_show_also_deleted ?> : <span id="button-show-deleted" class="font-weight-bold"><?php echo $datahub_YES ?></span></button>
<div class="row d-none">
<div class="col-10 text-right">
</div>
<div class="col text-right">
<?php echo $datahub_text0059 ?> <span id="text-current-page">...</span> <?php echo $datahub_text0060 ?> <span id="text-total-pages">...</span>
</div>
</div>
<div class="row">
<div class="col-10 text-right">
</div>
<div class="col text-right">
<?php echo $datahub_text0061 ?> : <span id="text-total-records-found">...</span>
</div>
</div>
<div class="row">
<div class="col-10 text-right">
</div>
<div class="col text-right">
<span id="delay-marker-id"></span>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<!-- Message if screen is not wide enough -->
<div class="container-fluid mt-2 mb-4 d-block d-lg-none">
<div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div>
</div>
<!-- Message if screen is not wide enough -->
<!-- Group lines found -->
<div class="d-none d-lg-block">
<div class="row mb-2">
<div class="col-12">
<div id="data-result-button-group"></div>
</div>
</div>
</div>
<div class="row mt-2">
<div class="col">
<div id="data-result" style="width: 100%;"></div>
<table id="REEFTvisual_data" class="table nowrap table-bordered table-striped table-hover">
<thead>
<tr class="bg-primary text-white font-weight-bold text-center">
<th class="text-left"><?php echo $datahub_text0085 ?></th>
<th class="text-left"><?php echo $datahub_text0089 ?></th>
<th class="text-left"><?php echo $datahub_text0026 ?> 1</th>
<th class="text-left"><?php echo $datahub_text0026 ?> 2</th>
<th class="text-left"><?php echo "$datahub_text0057 $datahub_text0086" ?></th>
<th class="text-left"><?php echo $datahub_text0100 ?></th>
<th class="text-left"><?php echo $datahub_text0101 ?></th>
<th class="text-center"><?php echo $datahub_text0006 ?></th>
<th class="text-left"></th>
<th class="text-left"></th>
<th class="text-left"><button type="button" id="add-button" title="Shortcut: Alt+F6" onclick="dataAdd('0')" class="d-none btn btn-dark btn-block font-weight-bold"><?php echo $datahub_button_save_01 ?></button></th>
</tr>
</thead>
</table>
</div>
</div>
<div class="row">
<div class="col text-right mb-2">
<small><div id="load-time-from-database"></div></small>
</div>
</div>
</div>
</div>
</div>
<!-- Set footer -->
<?php
include "include/footer.php";
?>
<!-- Set footer -->
<!-- ========================================================================== -->
<!-- M O D A L S -->
<!-- ========================================================================== -->
<!-- Modal start -->
<div class="modal fade" id="wa0361_MaintainModal" tabindex="-1" data-backdrop="static" role="dialog" aria-labelledby="wa0361_MaintainModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<div class="container-fluid pl-0 pr-0">
<div class="row">
<div class="col-8">
<h5 class="modal-title" id="wa0361_MaintainModalLabel"><i class="font-awesome-pseudo-class fa-thin fa-store"></i> <?php echo $datahub_text0084 ?></h5>
</div>
<div class="col text-right">
</div>
<div class="col-1 text-right" style="max-width:20px">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
</div>
</div>
</div>
<div class="modal-body ml-2 mr-2">
<input type="text" class="d-none" id="input-current-color-picker">
<input type="text" class="d-none" id="input-current-text-color">
<input type="text" class="d-none" id="input-current-background-color">
<!-- Message if screen is not wide enough -->
<div class="container-fluid mt-2 mb-4 d-block d-lg-none">
<div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div>
</div>
<!-- Message if screen is not wide enough -->
<form name="dataForm" id="dataForm">
<!-- Hidden fields start -->
<input type="text" class="d-none" id="modal-input-CMPNO" name="modal-input-CMPNO">
<!-- Hidden fields end -->
<div class="row mt-2">
<div class="col-7">
<div id="data-result-button-lines-modal"></div>
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0085 ?>
</div>
<div class="col-6">
<input class="form-control form-inline" type="text" id="modal-input-PRDNO" name="modal-input-PRDNO" onkeyup="resetModalMessage(), resetLineModal();">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0026 ?>
</div>
<div class="col-6">
<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-DESCP" name="modal-input-DESCP">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0026 . " 1" ?>
</div>
<div class="col-6">
<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-DESC1" name="modal-input-DESC1">
</div>
</div>
<div class="row mt-2 text-dark font-weight-bold">
<div class="col-3"></div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0086 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0087 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0088 ?>
</div>
</div>
<div class="row mt-1">
<div class="col-3">
<?php echo $datahub_text0057 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1RE6" name="modal-input-M1RE6" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1MOD" name="modal-input-M1MOD" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1MDB" name="modal-input-M1MDB" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2 text-dark font-weight-bold">
<div class="col-3"></div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0090 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0091 ?>
</div>
</div>
<div class="row mt-1">
<div class="col-3">
<?php echo $datahub_text0089 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1ABC" name="modal-input-M1ABC" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1RES" name="modal-input-M1RES" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0092 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1FAS" name="modal-input-M1FAS" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0093 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1UPP" name="modal-input-M1UPP" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0094 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1PRO" name="modal-input-M1PRO" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2 text-dark font-weight-bold">
<div class="col-3"></div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0096 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0097 ?>
</div>
</div>
<div class="row mt-1">
<div class="col-3">
<?php echo $datahub_text0095 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1MTM" name="modal-input-M1MTM" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1MTS" name="modal-input-M1MTS" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0098 ?>
</div>
<div class="col-1">
<input class="form-control read-only-class" type="text" id="modal-input-M1COL" name="modal-input-M1COL">
</div>
</div>
<div class="row mt-2 text-dark font-weight-bold">
<div class="col-3"></div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0100 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0101 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0102 ?>
</div>
</div>
<div class="row mt-1">
<div class="col-3">
<?php echo $datahub_text0099 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M1VLT" name="modal-input-M1VLT" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M3HTZ" name="modal-input-M3HTZ" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M3FAS" name="modal-input-M3FAS" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2 text-dark font-weight-bold">
<div class="col-3"></div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0104 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0105 ?>
</div>
<div class="col-3" style="font-size:14px">
<?php echo $datahub_text0106 ?>
</div>
</div>
<div class="row mt-1">
<div class="col-3">
<?php echo $datahub_text0103 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-PMDAI" name="modal-input-PMDAI" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-PMDRW" name="modal-input-PMDRW" onkeyup="resetModalMessage()">
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-PMDTR" name="modal-input-PMDTR" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0107 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M3WGH" name="modal-input-M3WGH" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0108 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M3TYP" name="modal-input-M3TYP" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0109 ?>
</div>
<div class="col-3">
<input class="form-control read-only-class" type="text" id="modal-input-M3DRN" name="modal-input-M3DRN" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0110 ?>
</div>
<div class="col-6">
<input class="form-control read-only-class" type="text" id="modal-input-W1SPE" name="modal-input-W1SPE" onkeyup="resetModalMessage()">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0006 ?>
</div>
<div class="col-6">
<button type="button" class="btn btn-primary" id="button-deleted-yes"><?php echo $datahub_YES ?></button>
<button type="button" class="btn btn-primary" id="button-deleted-no"><?php echo $datahub_NO ?></button>
<input class="d-none form-control" type="text" onkeyup="resetModalMessage()" id="modal-input-ACTIV" name="modal-input-ACTIV">
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<?php echo $datahub_text0145 ?>
</div>
<div class="col-6">
<input class="form-control read-only-class" type="text" id="modal-input-WZLOG" name="modal-input-WZLOG">
</div>
</div>
</form>
</div>
<div class="modal-footer-pretty modal-footer">
<div class="container-fluid">
<div class="row">
<div class="col-12 text-left">
<div class="p-1 font-weight-bold text-danger border-top border-dark " id="modal-message"> </div>
</div>
</div>
<div class="row mt-1 mb-2">
<div class="col-3 text-left">
<button type="button" id="modal-save-button" class="btn btn-primary btn-block d-none" onclick="dataSave()"><?php echo $datahub_button_save ?></button>
</div>
<div class="col-6 text-right">
</div>
<div class="col-3 text-right">
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo $datahub_button_cancel_01 ?></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Modal end -->
<!-- ************************************************ -->
<!-- Confirm delete -->
<!-- ************************************************ -->
<div class="modal fade" id="wa0361_confirmDeleteModal" tabindex="-1" role="dialog" aria-labelledby="wa0361_confirmDeleteModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl" role="document">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<h5 class="modal-title" id="wa0361_confirmDeleteModalLabel"><?php echo $datahub_text0063 ?></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form name="dataForm-delete" id="dataForm-delete">
<input type="text" class="d-none" id="confirm-delete-PRDNO" name="confirm-delete-PRDNO">
</form>
<div class="h6"><?php echo $datahub_text0062 ?>: <span class="font-weight-bold" id="confirm-delete-text-PRDNO"></span></div>
</div>
<div class="modal-footer">
<div class="container-fluid">
<div class="row mt-1 mb-2">
<div class="col-3 text-left">
<button type="button" onclick="dataDeleteExec()" class="btn btn-primary"><?php echo $datahub_button_delete ?></button>
</div>
<div class="col-6 text-right">
</div>
<div class="col-3 text-right">
<button type="button" class="btn btn-primary" data-dismiss="modal"><?php echo $datahub_button_cancel ?></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>